{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "42f59e57-20a0-4c69-afd5-120ef21bf914",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from statsmodels.miscmodels.ordinal_model import OrderedModel\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "cdab82b3-a8fd-4e4d-91fc-4c5391a9b6d6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                  (1) Current: Base (2) Current: Full (3) Future: Base  \\\n",
      "1/2                       -3.025***         -3.271***        -4.656***   \n",
      "1/2 (SE)                    (0.080)           (0.137)          (0.131)   \n",
      "2/3                        0.385***          0.369***         0.362***   \n",
      "2/3 (SE)                    (0.033)           (0.043)          (0.069)   \n",
      "3/4                        0.452***          0.461***         0.513***   \n",
      "3/4 (SE)                    (0.017)           (0.022)          (0.031)   \n",
      "4/5                        0.270***          0.307***         0.461***   \n",
      "4/5 (SE)                    (0.014)           (0.017)          (0.016)   \n",
      "5/6                        0.491***          0.487***         0.723***   \n",
      "5/6 (SE)                    (0.014)           (0.018)          (0.011)   \n",
      "6/7                         -0.069*          -0.104**           -0.001   \n",
      "6/7 (SE)                    (0.029)           (0.036)          (0.022)   \n",
      "7/8                        0.311***          0.311***          0.100**   \n",
      "7/8 (SE)                    (0.041)           (0.049)          (0.033)   \n",
      "8/9                          -0.057            -0.196            0.097   \n",
      "8/9 (SE)                    (0.084)           (0.106)          (0.055)   \n",
      "age_2.0                      -0.069            -0.054           -0.114   \n",
      "age_2.0 (SE)                (0.077)           (0.105)          (0.082)   \n",
      "age_2.0:male              -0.429***           -0.378*          -0.288*   \n",
      "age_2.0:male (SE)           (0.113)           (0.149)          (0.120)   \n",
      "age_3.0                       0.118             0.144            0.145   \n",
      "age_3.0 (SE)                (0.075)           (0.103)          (0.077)   \n",
      "age_3.0:male              -0.920***         -0.869***        -0.850***   \n",
      "age_3.0:male (SE)           (0.107)           (0.143)          (0.110)   \n",
      "age_4.0                    0.357***             0.192         0.468***   \n",
      "age_4.0 (SE)                (0.076)           (0.106)          (0.078)   \n",
      "age_4.0:male              -1.005***         -0.839***        -1.070***   \n",
      "age_4.0:male (SE)           (0.107)           (0.145)          (0.111)   \n",
      "age_5.0                    0.862***          0.685***         0.821***   \n",
      "age_5.0 (SE)                (0.067)           (0.107)          (0.071)   \n",
      "age_5.0:male              -1.447***         -1.329***        -1.358***   \n",
      "age_5.0:male (SE)           (0.097)           (0.143)          (0.102)   \n",
      "appearance                      nan         -0.231***              nan   \n",
      "appearance (SE)               (nan)           (0.061)            (nan)   \n",
      "child                           nan         -0.401***              nan   \n",
      "child (SE)                    (nan)           (0.038)            (nan)   \n",
      "education                       nan         -0.125***              nan   \n",
      "education (SE)                (nan)           (0.035)            (nan)   \n",
      "gender                     1.924***          1.873***         1.684***   \n",
      "gender (SE)                 (0.085)           (0.121)          (0.089)   \n",
      "income                          nan            -0.016              nan   \n",
      "income (SE)                   (nan)           (0.019)            (nan)   \n",
      "occupation                      nan          -0.141**              nan   \n",
      "occupation (SE)               (nan)           (0.050)            (nan)   \n",
      "satisfaction                    nan          0.042***              nan   \n",
      "satisfaction (SE)             (nan)           (0.011)            (nan)   \n",
      "spouse                          nan           -0.099*              nan   \n",
      "spouse (SE)                   (nan)           (0.045)            (nan)   \n",
      "year_2021                  0.241***          0.458***            0.007   \n",
      "year_2021 (SE)              (0.029)           (0.078)          (0.030)   \n",
      "N                             15427              9587            15427   \n",
      "\n",
      "                  (4) Future: Full  \n",
      "1/2                      -4.656***  \n",
      "1/2 (SE)                   (0.192)  \n",
      "2/3                       0.355***  \n",
      "2/3 (SE)                   (0.087)  \n",
      "3/4                       0.475***  \n",
      "3/4 (SE)                   (0.040)  \n",
      "4/5                       0.495***  \n",
      "4/5 (SE)                   (0.020)  \n",
      "5/6                       0.729***  \n",
      "5/6 (SE)                   (0.013)  \n",
      "6/7                         -0.012  \n",
      "6/7 (SE)                   (0.028)  \n",
      "7/8                          0.060  \n",
      "7/8 (SE)                   (0.041)  \n",
      "8/9                          0.047  \n",
      "8/9 (SE)                   (0.068)  \n",
      "age_2.0                     -0.090  \n",
      "age_2.0 (SE)               (0.112)  \n",
      "age_2.0:male                -0.269  \n",
      "age_2.0:male (SE)          (0.157)  \n",
      "age_3.0                      0.135  \n",
      "age_3.0 (SE)               (0.104)  \n",
      "age_3.0:male             -0.781***  \n",
      "age_3.0:male (SE)          (0.145)  \n",
      "age_4.0                    0.292**  \n",
      "age_4.0 (SE)               (0.108)  \n",
      "age_4.0:male             -0.857***  \n",
      "age_4.0:male (SE)          (0.147)  \n",
      "age_5.0                   0.627***  \n",
      "age_5.0 (SE)               (0.111)  \n",
      "age_5.0:male             -1.234***  \n",
      "age_5.0:male (SE)          (0.148)  \n",
      "appearance                  -0.040  \n",
      "appearance (SE)            (0.064)  \n",
      "child                    -0.217***  \n",
      "child (SE)                 (0.039)  \n",
      "education                -0.124***  \n",
      "education (SE)             (0.036)  \n",
      "gender                    1.665***  \n",
      "gender (SE)                (0.124)  \n",
      "income                     -0.047*  \n",
      "income (SE)                (0.020)  \n",
      "occupation                  -0.094  \n",
      "occupation (SE)            (0.053)  \n",
      "satisfaction              0.063***  \n",
      "satisfaction (SE)          (0.011)  \n",
      "spouse                     -0.112*  \n",
      "spouse (SE)                (0.047)  \n",
      "year_2021                  0.255**  \n",
      "year_2021 (SE)             (0.080)  \n",
      "N                             9587  \n"
     ]
    }
   ],
   "source": [
    "# 0) Load data\n",
    "# ============================================================\n",
    "#PATH = \"/mnt/data/df_final.xlsx\"\n",
    "PATH = r\"\\df_final.xlsx\"  # local\n",
    "\n",
    "df = pd.read_excel(PATH)\n",
    "\n",
    "# ============================================================\n",
    "# 1) Variable mapping\n",
    "# ============================================================\n",
    "DV_CURRENT = \"gender_inequality\"\n",
    "DV_FUTURE  = \"gender_inequality_prospect\"\n",
    "\n",
    "MALE   = \"gender\"   # 남=1, 여=0\n",
    "AGECAT = \"age\"      # 1..5 (categorical)\n",
    "YEAR   = \"year\"     # 2016/2021\n",
    "\n",
    "CONTROLS = [\"income\", \"education\", \"occupation\", \"spouse\", \"child\", \"appearance\", \"satisfaction\"]\n",
    "\n",
    "# ============================================================\n",
    "# 2) Prep and design matrix\n",
    "# ============================================================\n",
    "def prep(df, dv, use_controls: bool):\n",
    "    cols = [dv, MALE, AGECAT, YEAR] + (CONTROLS if use_controls else [])\n",
    "    d = df[cols].dropna().copy()\n",
    "    d[AGECAT] = d[AGECAT].astype(\"category\")\n",
    "    d[YEAR] = d[YEAR].astype(\"category\")\n",
    "    d[dv] = d[dv].astype(int)\n",
    "    d[MALE] = d[MALE].astype(int)\n",
    "    return d\n",
    "\n",
    "def build_X(d, use_controls: bool):\n",
    "    age_d = pd.get_dummies(d[AGECAT], prefix=\"age\", drop_first=True)\n",
    "    year_d = pd.get_dummies(d[YEAR], prefix=\"year\", drop_first=True)\n",
    "\n",
    "    inter = age_d.multiply(d[MALE], axis=0)\n",
    "    inter.columns = [c + \":male\" for c in inter.columns]\n",
    "\n",
    "    parts = [\n",
    "        d[[MALE]].astype(float),\n",
    "        age_d.astype(float),\n",
    "        inter.astype(float),\n",
    "    ]\n",
    "\n",
    "    if use_controls:\n",
    "        parts.append(d[CONTROLS].astype(float))\n",
    "\n",
    "    parts.append(year_d.astype(float))\n",
    "\n",
    "    X = pd.concat(parts, axis=1)\n",
    "    return X\n",
    "\n",
    "# ============================================================\n",
    "# 3) Fit ordered logit + extract exog table (exclude thresholds)\n",
    "# ============================================================\n",
    "def fit_ordered_logit(df, dv, use_controls: bool):\n",
    "    d = prep(df, dv, use_controls=use_controls)\n",
    "    X = build_X(d, use_controls=use_controls)\n",
    "    y = d[dv]\n",
    "\n",
    "    model = OrderedModel(y, X, distr=\"logit\")\n",
    "\n",
    "    # ✅ robust SE는 fit에서 바로 지정 (버전 호환)\n",
    "    res = model.fit(method=\"lbfgs\", maxiter=400, disp=False, cov_type=\"HC1\")\n",
    "\n",
    "    exog_names = model.exog_names\n",
    "    out = pd.DataFrame({\n",
    "        \"coef\": res.params[exog_names],\n",
    "        \"se\":   res.bse[exog_names],\n",
    "        \"z\":    res.tvalues[exog_names],\n",
    "        \"p\":    res.pvalues[exog_names],\n",
    "    })\n",
    "\n",
    "    return out, res, d\n",
    "\n",
    "def star(p):\n",
    "    if p < 0.001: return \"***\"\n",
    "    if p < 0.01:  return \"**\"\n",
    "    if p < 0.05:  return \"*\"\n",
    "    return \"\"\n",
    "\n",
    "def build_table_block(model_tbl, col_label):\n",
    "    b = model_tbl[\"coef\"].map(lambda x: f\"{x:.3f}\") + model_tbl[\"p\"].map(star)\n",
    "    se = model_tbl[\"se\"].map(lambda x: f\"({x:.3f})\")\n",
    "\n",
    "    rows = []\n",
    "    for idx in model_tbl.index:\n",
    "        rows.append((idx, b.loc[idx]))\n",
    "        rows.append((idx + \" (SE)\", se.loc[idx]))\n",
    "\n",
    "    return pd.Series(dict(rows), name=col_label)\n",
    "\n",
    "# ============================================================\n",
    "# 4) Estimate models for Table 1\n",
    "# ============================================================\n",
    "cur_base, res1, d1 = fit_ordered_logit(df, DV_CURRENT, use_controls=False)\n",
    "cur_full, res2, d2 = fit_ordered_logit(df, DV_CURRENT, use_controls=True)\n",
    "fut_base, res3, d3 = fit_ordered_logit(df, DV_FUTURE,  use_controls=False)\n",
    "fut_full, res4, d4 = fit_ordered_logit(df, DV_FUTURE,  use_controls=True)\n",
    "\n",
    "# Align indices\n",
    "idx = cur_base.index.union(cur_full.index).union(fut_base.index).union(fut_full.index)\n",
    "cur_base = cur_base.reindex(idx)\n",
    "cur_full = cur_full.reindex(idx)\n",
    "fut_base = fut_base.reindex(idx)\n",
    "fut_full = fut_full.reindex(idx)\n",
    "\n",
    "# Build formatted blocks\n",
    "c1 = build_table_block(cur_base, \"(1) Current: Base\")\n",
    "c2 = build_table_block(cur_full, \"(2) Current: Full\")\n",
    "c3 = build_table_block(fut_base, \"(3) Future: Base\")\n",
    "c4 = build_table_block(fut_full, \"(4) Future: Full\")\n",
    "\n",
    "table1 = pd.concat([c1, c2, c3, c4], axis=1)\n",
    "table1.loc[\"N\"] = [len(d1), len(d2), len(d3), len(d4)]\n",
    "\n",
    "print(table1)\n",
    "\n",
    "# Optional export\n",
    "# table1.to_excel(\"Table1_ordered_logit.xlsx\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "95d8cfa8-dd3d-4913-b393-53405b33066b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "1b130b03-e51f-4860-aa6c-ff3c5c06537e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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buzWPeuss+ztt9/OlJ8rFhDsAAAAAOmgoOTCCy+0yZMn+5d99tlntnfvXrv22msTra/AZsiQIdasWTN78cUX7cYbb7RJkyZZ+/btE801Wrt2rXXv3t3atWtnzz33nJUoUcJuuOEG+/333zPlZ8vumLMDAACALLF//347cOBAiuup8lpaaLvg3jynnXZaojk0Sj/LnTt9p8UawRk6dKgdPnzYChQo4IKXli1bWrly5RKsp1GaN954wz0eOOrTunVrN+9I6XCByzXv6Ntvv7XmzZu7+1dffbUrevDmm2/as88+m659jgdRO7Kj4b0XXnjBatas6Ybs9Ee955577ODBgyluu3r1anv44YetSZMmrgRhkSJFrF69evb444+H3F412L1KGsE3DiIAAICMoZEKBQMp3YKLD4RL2wU/18KFCxOtt2HDhnT/LApCFOjMnDnTBXH6GiqFTcFMsWLF3EiN5hR5N83tKVy4sM2ZMyfB+rVq1fIHOqJzWxVrWL9+fbr3OR5E7cjO3XffbWPGjLFu3bq5IGflypXu/s8//2xfffWV5cyZdJw2YcIEe/nll10t9uuuu87y5MnjDpyHHnrIpk6daosWLXIRdzAFV6VKlUqwTAceAAAAkBwFIW3btnVFCQ4dOmQnT5506WfB1qxZ49LbypQpE/J5du7cmeB+qGpySmULnt+DbBTsKAdx7NixdsUVV9j06dP9y6tUqWKDBg2yKVOmhIyUPTqwNIyoqNkzYMAAq1atmhvdGT9+vN1+++2JtuvatavLuQQAAABSS+enN998s23fvt06dOhgxYsXD5m9pEBHaWyhBDZGlVy5coVcTz18kE2DHU3u0h/wrrvuSrBcB88DDzxg7777brLBTsOGDUMuv+aaa1yws3z58iS33bdvnxUsWDDdeZsAAABInrJ3NFk/JcuWLUtTKtvnn39uderUSTRnJ1ikLnYrI0k/j7KI3n///ZDrVK1a1WUpqThBqEwjRFZUntEvWbLEpampxF4gzd3R3Bs9nhZq6iQq7xeK/jMox1IRtF57+PDhLipPztGjR90tMFgCAABAyjSvWreUBBcZCJdGSc4444wU14vURW7Nufnvf//r5gB17tw5ybk9r7zyij366KP2xBNPJCqUoIINoUaEEEPBztatW93cmVDdZsuXL28LFixwtcvz5s0b9nMqb1IHlQ7m4FEh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taStAQAAAMj+wc4XX3xh69atc6WMS5cubVOnTnXNL6tWrWr/+c9/bPv27ZHfUwAAAADI6GBHKleubI899phrcvnxxx9bp06d7K+//nJNMVWp7YorrrDPP//c0ljZGgAAAACyJtjxP0HOnNa5c2f75JNPXLDz6KOPWsWKFf0BkIIiLWO0BwAAAEC2CnYCqedOw4YNrU6dOm5ER7dNmzbZiBEjrEqVKnbvvffa8ePHI/mSAAAAABDZPjuBtmzZYhMmTHA3je4oyKlfv74NGDDALr74Ynv//fdt7Nix9sILL7hg58UXX4zEy8LM/b4DK+Lt2rUrwePLli2zbdu2+e+XKlXKpRkCAAAAsS6HL42Tak6dOmUzZ860119/3c3NOXnypBUsWNBVZlOQoxGeQPv27bPzzz/fDh48GNMpbfo5ixUrZnv37rWiRYtmeKBTo0YNO3LkSNjb5M+f31atWkXAAwAAgJg8R073yM5DDz1kb775pgtaFCvVrl3b+vfvb717905y57W8efPm9s4776R3n/F/NKKTmkBHtL62I9gBAABArEtTsPPEE09Yvnz5rEePHm4U56KLLgpru1atWlmOHDnS8pIAAAAAkPHBzjPPPGM33HCDlSxZMlXbaRvdAAAAACAqq7E1atTI/v777xTXW7NmjX377bdpeQkAAAAAyPxgp3Xr1vbUU0+luN7TTz/t1gUAAACAbBHseD10wlkPAAAAALJ9U9FgW7dutcKFC2fkSwAAAABA+goUvP322wnur127NtEyz4kTJ1wvl6+++sqaNGkS7ksgkyxdutQ1fQUAAABiWdhNRXPmzJmqstF6WjWw/OSTT6xt27YWLzKzYdJPP/1kDRo0SNO23bp1c3Oqzj777IjvFwAAAJCtmoo+/PDDLthREDNq1CirV6+edenSJeS6efPmtXLlytkll1xiZ5xxRiT3FxHy4Ycf2syZM10Z8TvvvDOrdwcAAADIumDnkUce8X//1ltvudGaESNGRH6PkGmOHz9utWrVyurdAAAAAKKnqeiGDRsivydItVKlSrlUwSNHjoS9jda///77bcyYMda0aVNr165dhu4jAAAAkK2CHUSHM8880xWC2L17t3/Zrl277NJLL/Xf//zzz6106dIJAiRtN2jQIDt48GCi59yzZ4/dfPPNLm2xTp06mfBTAAAAAFlYoKBv375uvs4TTzxhp59+ursf9gvkyGHjx4+3eJFVk68827Ztc/OlAst/p2be1ODBg+2FF15wBSluuukme/TRR93fHAAAAMhu58hhBTteJbaVK1da9erV3f2wXyBHDjt58qTFi+wc7Kxfv95q1qzp5vJ41Cdp2LBhdvfdd7sUOAAAACCmqrHNmTPHfVX6U+B9xJZKlSrZa6+95oKb7du3u2UHDhxw97X8P//5j11zzTWpKkEOAAAARH2fHcT+yI5HAY568Dz77LN2+PDhBI+pSazS3GgWCwAAgGg/Rw4/Hw1xQ6lr6qWk4ge9evVK8NiiRYvswgsvtJ49e9qmTZuybB8BAACAlBDsIEkVK1a0d955xxYvXmzNmjVL8NjkyZNtx44dWbZvAAAAQETm7Fx88cWWVprf8fXXX6d5e2S9Ro0a2fz582369Ol233332Z9//mnXX3+9NWzYMKt3DQAAAEhfsDN37lxLKyazxwb9Hbt3726XXXaZjR071nr06JFonc2bN7vUtzZt2mTJPgIAAACpDnZ0JR8QlZ8eMmRIyMdUtU1pb507d7ZnnnnGatSoken7BwAAAKQq2FFJYiA5P/74owt05NNPP7XPPvvMbr31VhsxYoSVLFkyq3cPAAAAcYgCBYgINSKtVauW//6JEydculu1atVs9OjRduzYsSzdPwAAAMQfgh1EhMpR//rrr/bKK69YqVKl/Mv37Nljd999t5177rn28ccfG22dAAAAEFXBzllnnWVVq1b1z93R/XBv2i4tTp065ZpX1qxZ080TURnke+65xw4ePBjW9k8++aRdddVVbh80ub5y5cpJrnvDDTe4dULdpk2blqb9j0e5c+d2qWtr165183ry5s3rf2zNmjXWtWtXV7zg559/ztL9BAAAQHwIa87Ohg0b/KlKgfczkkYDxowZY926dXNBzsqVK919nSh/9dVXljNn8nGaJsufdtppVr9+ffv333/Dek1vzkmgxo0bp/lniFfqjvv000/bgAED7P77708QMM6ZM8eNAqkhaenSpbN0PwEAABDbcoc7ypLc/Uj7/fff3XyPK664wvV28VSpUsUGDRpkU6ZMsZ49eyb7HOvWrXOjOqIUqgMHDqT4ur169YrA3sOj3/8HH3xg3333nQteVcRAbrvtNgIdAAAAxOecncmTJ7u5HXfddVeC5TfffLMVLFjQ3n333RSfwwt0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a2TnzTffTLRs4cKFNm7cOKtQoYJ1797dKleu7JZv3LjRpk+fbn/99ZfdcsstduGFF0Z+rwEACPLaa6/ZyJEjk3w8MPCRESNG2COPPJIJewYAiOqRnWCLFy+2li1b2t133+1S3HLnThgzaSTn4Ycftueee87mzZtnF1xwgcULRnYAIDpGdlLCyA4AxP45cpqCHV0d27x5sy1fvjzZ9c4991wrX768/e9//7N4QbADAAAARMc5cpqqsf3www9Wt27dFNfTOhoFAgAAAIDMlqZgR2lq69evT3E9rRNPxQkAAAAARI+wChQEa9y4sc2ZM8fefvtt6927d8h19JhGgC6++OL07iMAAAAQd3bv3m2fffaZbdq0yfLmzeuypnRunStXrmS30yyV77//3pYsWWKHDh2ysmXLWvv27V1hMc+GDRts4sSJibatXbu2Kz4W6MSJEzZ//nxbtmyZ7d+/3woVKuTWu+SSSywmgx1Vu/n222/txhtvtLfeesuuueYaq1Spkr8a29SpU23u3LmucEFylXEAAAAAJHb48GEXjJQsWdKuvvpqF2RoHvzx48etY8eOyW6rQEfn4m3atLHTTz/dBT3vvPOODRgwwEqUKJFg3S5dulipUqX89wsWLJgocJoyZYrt2bPHFSgrXry4m3ejQCw7SFOw06xZM5sxY4b17dvX/SJVcS34l6I/zPjx4926AAAAAML3448/2tGjR92gQoECBdyyU6dO2axZs6x58+ZWpEiRkNtpFOa7775z7V8u/L8WMBqUGDt2rC1YsMA6deqUYP0yZcpYuXLlktyPn3/+2RUmGzhwYJKvGXPBjlx22WVuTs60adPcsNbWrVvdcpXx1B/gqquussKFC0dyXwEAAIC4sHbtWjvrrLP8gY4odWzmzJm2bt06q1evXsjtlPKmIEnrepT2ds4559jKlSsttX766SerVatWtgx00hXsiIKZG264wd0AAAAARIbSxM4///wEy/Lnz++CjuRSyLzHAlPTvPtKP1MaXJ48ecwzadIklzKn83q1jWndurX/cRUaU/+y6tWr24cffuiCpRw5ctjZZ59tHTp0yBYDG+kKdgAAAABE3pEjR1xwE0zLFJwkRY9pJEdz5wN5I0R6XgUz+fLls6ZNm7oUN93/888/XZqbgqWePXv6n0upc5oDpPWUUnfw4EH76quv7P3337ebbrrJ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UMWPOAZjzz///GP33nuvnX322ZY/f353fta6dWubP39+onV/+OEHa9u2rTt/U9/GSy+91PV7RObKncmvh1SYMGGCvfzyy3b55Ze7k031+5kzZ4499NBDNnXqVNf0tECBAv5+Q02bNrXcuXPbfffd505K1Veoffv29tlnn7n/bEBabN682QU1KuNeoUIFd4z99ttvrtLhlClT3Bt3mTJl3Loch8hMuhi0a9eukI9xLCIjKWi55ZZbEiwL7snHMRh7VP23VatWri/jTTfd5JrO792711Xy3bJlS4J1dY6mddW+RJWARS1RdOwsWLDAzjvvvCz6KeKQqrEhOi1ZssT377//Jlr+4IMPqoKeb+zYsf5lV111lS9nzpy+n3/+2b9s//79vjPPPNNXvXp136lTpzJtvxEfpk6d6o7Dp556yr+M4xCZZenSpb5cuXL5nnvuOXccDhw4MMHjHIvIKDre+vTpk+J6HIOx56KLLvJVqFDBt3Xr1hTXbdSoka9IkSK+zZs3+5fpey1r166dL1ocOnTId/z4cV92k5r9Jo0tijVs2NBdCQqmfkGyfPly91UpbZ988om7gqA0N4+G1Pv16+fS4ZYsWeJfvmnTJuvbt69VqlTJ9RTSVXldfZo4cWKm/FyIDTp+ZM+ePe4rxyEyi/qoqQG0UkKuuOKKRI9zLCIzHDt2zF3hD4VjMPZ8++239t1337lRujPOOMOOHz/uUmlDWbt2rfv7XnXVVQka0+t7Lfvqq69s+/bt/uW///67f139/cuWLetS42bNmhXWvmlkSdkXJUuWdKl1tWrVsqefftq9Vwa64YYbXMqlRsR1vJ1++ukuvVIZHMnZvXu3DRw40CpWrGh58+Z1X3X/77//9q+j0Uo995gxY0I+x4UXXuhS/vR786xZs8auv/569/vU86p35pAhQxJN1UjrfntIY8uGvD+u/tjeQX706FF3IAXTfB/Rf7rGjRvbiRMnrF27dm649bbbbkswBKt80z59+mTyT4Ps4siRI+6DXV9XrFhh999/v1vesWNH95XjEJnlhRdesD/++MOmT58e8nGORWS0adOm2bvvvutOJnUCp4uQakzuXaDkGIw9s2fPdl/PPPNM69y5szu519+/WrVqLqW2V69e/nW9QDapv7+mKSxdutQ6derkAoaLL77YPTZgwAAX8Cq4+PHHH92cH62THK3X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xRI0n8krzOD55Zdf3HmFfof6Xep3qqIN+n+j7TUf2KvGlpb9TiDNYRIynBfJJnVr2bJlgvVXrFjhoulixYr5ChQo4GvWrJnvyy+/TLDO+vXr3dWimjVruqsLSkHS98OHD3dXl4Bg77//vq9Tp06ua7TSMvLnz++rUaOG7/bbb/dt3Lgx0foch8hMf/75Z6JUDQ/HIiLto48+8l1yySW+cuXKufdDHS9169b1Pf744y71LBjHYOyZPn2674ILLnB/p8KFC/vatWvn++6770Kuu2DBApf9oFEOratjRylcgX7++Wdf7969fVWrVnXPqWNAKeLPPvus78iRI2Htk0YPu3Tp4itRooQvb9687vjRKOOJEycSrJfWERKlpt16661uVEujSPp62223+Xbt2hVy/aNHj/pOO+0091r9+vVL8nk3bNjgjv1KlSq51DdtU79+fd8DDzzg++uvv9K93x5GdgAAAADEJKqxAQAAAIhJBDsAAAAAYhLBDgAAAICYRLADAAAAICYR7AAAAACISQQ7AAAAAGISwQ4AAACAmESwAwAAACAmEewAAAAAiEkEOwAAAABiEsEOAAAAgJhEsAMAAADAYtH/B2NS3+7iGKZOAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 840x560 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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Z07AxyrQScq0adPMhQsXErXd9rUfWsVyAh254447bAOHpUuXBvW9AAAApCjY+emnn+zl559/9nm/bne2ARA61a7o9+mtt94y+fPnd92+c+dOGxSoVka1PuGo16lUqZLHbXo9pZPpvnC02tbzK3VNdTiZM2e2QZyCG8fJkyfNrl27Eu2HrivwC8d+AACA9CPkYEc59yos7tatm8/77777bnu/agAApLxr20MPPWQ2b95s7rnnHo/7Zs2aZapUqWLrWlIykFQ1O+7BlENNBP755x+TUkpB0/4PGjTIrkwpyLnsssvMjTfeaH777Te7jdN+23s/tMqjlL1w7AcAAEg/Qg521DFKF38zXpTfr/tLlSqVkv0D4KZIkSLm/fffN4sXL/ZIbTtz5owNIBRIRCulw504ccLW83Tt2tV2ffv0009NyZIlbaoeAABA1AwVVSFyID/88EOoTw0gCWrdrNS29957z3ZqU7Gfiv7UuCBUWsHR8/ha8XGv40nJ84v7am+WLFlM48aNza+//uqxouO9H6pT0qpVOPYDAACkHyGt7CxYsCD8ewIgpNQ2dS3r3r277aSmlR9v58+fD+r5VBfjXROjoGPfvn2JamhCoVQ7f5zW05q9o9Vg7/1Q+psaMYRjPwAAQPoRUrCjWpwrr7zSzr3QbA0AaUcBzgcffGADH28azlmhQgXz1VdfJdm17frrrzdz58511c2I0szUae26665L8X6qkYLoNdxXbHTypFatWh77oS5z586dc902depUu+qjFS0AAICIBjtqT6uzyZqurnx7tYUlbQ2ILmrzrABo+/bt5qabbjLt27cP2LWtd+/eJk+ePLbDm1pNK4B64okn7O3uM3ZatGhhLr/8co/HKqXus88+c3VWW7VqVaLnr1mzprntttvs/B3VHWlbDRj966+/7Os49P8HDhwwnTt3NvPmzTNvvvmmeeWVV2y6nns7agAAgCQlhGj79u0JzzzzTELJkiUTMmTIkJAxY8aEcuXKJQwfPjxh3759CenV0aNHdfrcfgXS0vfff2/fi+6XbNmyJQwePDjh33//9fmYDRs2JLRo0SIhR44cCUWKFEl4/PHHE86cOeOxTZMmTRLKlCnjcVu3bt0SvZb7Ze/evXa7EydOJPTp0yehcOHCdl8aNGiQsGjRokT7sXjx4oS6devabfQ3Rn9XLl68GNZ/HwAA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7eq1VkeCWemWKlWqJLpP4yIyZsxotm3blug+pUoGS6+hk+vKKHKn63oe9+d3AhqtyjiBn2qdtAKv79GxceNG+1XfpwIm94vq1ZSi9tdff6Vov90R7MSI5557zuYD6yzCe++953Ff8eLF7Vfvtofut7kvpep5tCT5xhtvmPLly9v0JC3LOzUYQDB0Funqq68277zzjr3O+xCRpIMGreaoRkw528of10WtYJ28cl0/cuQI70WkOgXfet85q928B+PzhJ/o7483BanuDXuS+/PXyUOtdmiFUE0GlBqnz1id4I6EnP8NtCJBQY1qy515UlrlcVLcHP+/qaExjz32mD2B5eui9Liw7XfEe8MhxYYMGeJqdXnhwoVE96uVZbZs2RKaN2+e6L5hw4bZxy5btszv8586dSqhcePGdru//vor7PuP+FWtWrWEnDlz2v/nfYhIOnz4sH1vJHV55ZVXeC8i1ek9kzlzZtuaWHgPxp/333/f/jyeeuqpRPfddddd9r4//vjDXtdXXe/Ro0eibXVbhgwZEvbt2xfw753ak+fKlStgi3K9N/Q6t9xyS6L71q5dm6gtf7du3extyVG5cuWEwoULJ2rzrOu6vUqVKh63HzhwICFLliwJd999t20PnTdv3oQ2bdokGh2g/XjyySeD2odQ9tsdwU6UGzp0qP0B603jK9BxdOjQwfbzX7NmTaJ+/ldccYXrl0Vze86ePZvo8ffff799nU2bNkXoO0Gs8vcHed68efY95/5hzvsQkaL3y6effpro8s4779j3jD5MdX3z5s12e96LiIRDhw75vP3xxx9PNHeM92B8+eeff+yMnBIlStifo0MzdxSUKDhxV7t2bbv9nj17XLfp/3VbixYtXLf9/fffPo/vWrdubYMiBQyBNGjQwAba69evd92m99Ydd9xh3z9z585NUdDw9NNP28e8++67Hrc7f3ufffbZRI+58cYb7b/J2LFj7TaTJ0/2uF/7V7VqVRsIbd26NdHjFUjp3yUl++0ug/4T6lIVIkudL9TpQm0O1elCuZfu1HpabfhE6Rta8tZS+qOPPmry5s1rJzVrWVQ5xJrYLF988YWt+bnttttsDqa6xqj9n7bVXB+1BgTcqXf/vn37bItI5ZYr31jvGRXlakn5xx9/dM2R4H2I1KZc8LJly9qWq+4pH7wXEQl6L+k9oRko+mxWO351Y1PBet26de1Xp7aD92D8GTNmjC3MV42MuompG5tqCPUZ+c0339j2yw41DtD7ROlvTifTUaNG2VoUdWCrXr26vU2pi2qnr89adfjT+0Wd/SZPnmy7s6lLWzCtp1VH5LSe1r589913tgHAJLfW0+puppS55Bz6K0W4Tp06ZuvWrebee++16etqPT1+/Hjblc67m5rMmDHDvp/1nlezBNUzOY0ZHGvWrLHHFfo31L+l/k3VtEG/N3q86oGdbmyh7LeHkMMkRJwTyfq7NGnSxGP7DRs22Gg6X758CTly5Eho2LBhwvfff++xzbZt2+zZokqVKtmzC0pB0v8PGjTInl0CvE2dOjWhXbt2dmq00jKyZ8+eULFixYSHH344YefOnYm2532I1LR9+/ZEqRoO3osIty+++CLhuuuuSyhevLj9e6j3S/Xq1RNefPFFm3rmjfdg/Jk+fXpC3bp17c8pd+7cCa1atUpYtGiRz22XLFlisx+0yqFt9d5RCpe71atXJ3Tt2jWhfPny9jn1HlCK+Kuvvppw+vTpoPZJq4c33XRTQoECBRKyZs1q3z9aZTx//rzHdqGukCg17YEHHrCrWlpF0tcHH3ww4eDBgz63P3PmTELBggXta/Xs2dPv8+7YscO+98uUKWNT3/SYmjVrJgwYMCDhzz//TPF+O1jZAQAAABCX6MYGAAAAIC4R7AAAAACISwQ7AAAAAOISwQ4AAACAuESwAwAAACAuEewAAAAAiEsEOwAAAADiEsEOAAAAgLhEsAMAAAAgLhHsAAAAAIhLBDsAAAAA4hLBDgAAAAATj/4fbtKOcSHsD+kAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 840x560 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Age category display labels\n",
    "# --------------------------\n",
    "AGE_LABELS = {\n",
    "    1: \"20s\",\n",
    "    2: \"30s\",\n",
    "    3: \"40s\",\n",
    "    4: \"50s\",\n",
    "    5: \"60s or over\"\n",
    "}\n",
    "\n",
    "# ============================================================\n",
    "# 1) Utilities: exog-only names (avoid thresholds in exog_names)\n",
    "# ============================================================\n",
    "def exog_only_names(model):\n",
    "    \"\"\"\n",
    "    Some statsmodels versions append threshold names to model.exog_names.\n",
    "    Predict expects only exog columns, so we keep the first k_exog names.\n",
    "    \"\"\"\n",
    "    k_exog = model.exog.shape[1]\n",
    "    return list(model.exog_names[:k_exog])\n",
    "\n",
    "def make_exog_row_exogonly(\n",
    "    model, d_ref, male_value, age_value, year_value, controls,\n",
    "    controls_strategy=\"mean\",\n",
    "    MALE=\"gender\", AGECAT=\"age\", YEAR=\"year\"\n",
    "):\n",
    "    \"\"\"\n",
    "    Build a 1-row exog DataFrame using *only* exogenous regressor columns.\n",
    "    Compatible across statsmodels versions.\n",
    "    \"\"\"\n",
    "    xnames = exog_only_names(model)\n",
    "\n",
    "    # Categories observed in estimation sample\n",
    "    age_cats = list(d_ref[AGECAT].cat.categories)\n",
    "    year_cats = list(d_ref[YEAR].cat.categories)\n",
    "\n",
    "    # Controls set to mean/median (estimation sample)\n",
    "    ctrl_vals = {}\n",
    "    if controls_strategy == \"median\":\n",
    "        for c in controls:\n",
    "            ctrl_vals[c] = float(d_ref[c].median())\n",
    "    else:\n",
    "        for c in controls:\n",
    "            ctrl_vals[c] = float(d_ref[c].mean())\n",
    "\n",
    "    row = {}\n",
    "    row[MALE] = float(male_value)\n",
    "\n",
    "    # age dummies (drop_first=True -> baseline = first category)\n",
    "    for ac in age_cats[1:]:\n",
    "        row[f\"age_{ac}\"] = 1.0 if age_value == ac else 0.0\n",
    "\n",
    "    # interactions\n",
    "    for ac in age_cats[1:]:\n",
    "        row[f\"age_{ac}:male\"] = row[f\"age_{ac}\"] * row[MALE]\n",
    "\n",
    "    # controls\n",
    "    for c in controls:\n",
    "        row[c] = ctrl_vals[c]\n",
    "\n",
    "    # year FE dummies (drop_first=True -> baseline = first category)\n",
    "    for yc in year_cats[1:]:\n",
    "        row[f\"year_{yc}\"] = 1.0 if year_value == yc else 0.0\n",
    "\n",
    "    # Align to exog-only names\n",
    "    x = pd.DataFrame([[row.get(n, 0.0) for n in xnames]], columns=xnames)\n",
    "    return x\n",
    "\n",
    "# ============================================================\n",
    "# 2) Predicted probability: P(Y >= cutoff)\n",
    "# ============================================================\n",
    "def prob_y_ge_cutoff(model, params, exog_row, cutoff=7):\n",
    "    \"\"\"\n",
    "    Compute P(Y >= cutoff) using model.predict (category probabilities).\n",
    "    cutoff is on observed 1..K scale.\n",
    "    \"\"\"\n",
    "    pr = model.predict(params, exog=exog_row)  # (1, K)\n",
    "    pr = np.asarray(pr).reshape(-1)\n",
    "    K = pr.size\n",
    "\n",
    "    if cutoff <= 1:\n",
    "        return float(pr.sum())\n",
    "    if cutoff > K:\n",
    "        return 0.0\n",
    "    return float(pr[cutoff-1:].sum())\n",
    "\n",
    "# ============================================================\n",
    "# 3) Delta-method CI via finite-difference gradient\n",
    "#    (works even when params include thresholds)\n",
    "# ============================================================\n",
    "def delta_ci_for_prob(model, res, exog_row, cutoff=7, step=1e-5):\n",
    "    params = np.asarray(res.params)          # includes thresholds\n",
    "    cov = np.asarray(res.cov_params())       # should match params dimension\n",
    "\n",
    "    p0 = prob_y_ge_cutoff(model, params, exog_row, cutoff=cutoff)\n",
    "\n",
    "    grad = np.zeros_like(params, dtype=float)\n",
    "    for j in range(len(params)):\n",
    "        dp = np.zeros_like(params)\n",
    "        dp[j] = step\n",
    "        p_plus  = prob_y_ge_cutoff(model, params + dp, exog_row, cutoff=cutoff)\n",
    "        p_minus = prob_y_ge_cutoff(model, params - dp, exog_row, cutoff=cutoff)\n",
    "        grad[j] = (p_plus - p_minus) / (2.0 * step)\n",
    "\n",
    "    var = float(grad @ cov @ grad)\n",
    "    se = np.sqrt(max(var, 0.0))\n",
    "\n",
    "    z = 1.959963984540054  # 95% CI\n",
    "    lo = max(0.0, p0 - z * se)\n",
    "    hi = min(1.0, p0 + z * se)\n",
    "    return p0, lo, hi\n",
    "\n",
    "# ============================================================\n",
    "# 4) Build tidy predicted DF for plotting\n",
    "# ============================================================\n",
    "def build_predicted_df(\n",
    "    model, res, d_ref, cutoff=7, year_value=None,\n",
    "    controls_strategy=\"mean\",\n",
    "    MALE=\"gender\", AGECAT=\"age\", YEAR=\"year\",\n",
    "    CONTROLS=None\n",
    "):\n",
    "    if CONTROLS is None:\n",
    "        CONTROLS = []\n",
    "\n",
    "    if year_value is None:\n",
    "        year_value = sorted(list(d_ref[YEAR].cat.categories))[-1]\n",
    "\n",
    "    age_cats = list(d_ref[AGECAT].cat.categories)\n",
    "\n",
    "    rows = []\n",
    "    for age_val in age_cats:\n",
    "        for male_val in [0, 1]:\n",
    "            xrow = make_exog_row_exogonly(\n",
    "                model=model,\n",
    "                d_ref=d_ref,\n",
    "                male_value=male_val,\n",
    "                age_value=age_val,\n",
    "                year_value=year_value,\n",
    "                controls=CONTROLS,\n",
    "                controls_strategy=controls_strategy,\n",
    "                MALE=MALE, AGECAT=AGECAT, YEAR=YEAR\n",
    "            )\n",
    "            p, lo, hi = delta_ci_for_prob(model, res, xrow, cutoff=cutoff)\n",
    "\n",
    "            rows.append({\n",
    "                \"age_cat\": int(age_val),  # ✅ ensure int for labeling\n",
    "                \"male\": male_val,\n",
    "                \"p\": p,\n",
    "                \"lo\": lo,\n",
    "                \"hi\": hi,\n",
    "                \"year_fixed\": year_value\n",
    "            })\n",
    "\n",
    "    out = pd.DataFrame(rows)\n",
    "    out[\"age_cat\"] = out[\"age_cat\"].astype(int)\n",
    "    return out\n",
    "\n",
    "# ============================================================\n",
    "# 5) Plotting + 600 DPI saving\n",
    "# ============================================================\n",
    "def plot_predicted_prob(\n",
    "    pred_df, title, ylabel, xlabel=\"Age group\",\n",
    "    legend_loc=\"best\", y_lim=None,\n",
    "    figure_size=(8.4, 5.6),\n",
    "    tick_fontsize=13, label_fontsize=15, title_fontsize=16,\n",
    "    marker_size=9, line_width=2.3, capsize=4,\n",
    "    age_labels=None,\n",
    "    save_path_png=None,\n",
    "    save_path_pdf=None,\n",
    "    dpi=600,\n",
    "    # NEW: value labels\n",
    "    show_values=True,\n",
    "    value_decimals=3,\n",
    "    value_fontsize=11,\n",
    "    value_offset=0.03,   # y축 기준으로 위로 띄우는 정도\n",
    "):\n",
    "    pred_df = pred_df.copy()\n",
    "    pred_df[\"age_cat\"] = pred_df[\"age_cat\"].astype(int)\n",
    "\n",
    "    age_order = sorted(pred_df[\"age_cat\"].unique())\n",
    "    x = np.arange(len(age_order))\n",
    "\n",
    "    f = pred_df[pred_df[\"male\"] == 0].set_index(\"age_cat\").loc[age_order].reset_index()\n",
    "    m = pred_df[pred_df[\"male\"] == 1].set_index(\"age_cat\").loc[age_order].reset_index()\n",
    "\n",
    "    fig = plt.figure(figsize=figure_size)\n",
    "\n",
    "    # Women: solid line + circle marker (GRAY)\n",
    "    plt.errorbar(\n",
    "        x, f[\"p\"],\n",
    "        yerr=[f[\"p\"] - f[\"lo\"], f[\"hi\"] - f[\"p\"]],\n",
    "        fmt=\"o-\", markersize=marker_size, linewidth=line_width,\n",
    "        capsize=capsize,\n",
    "        label=\"Women\",\n",
    "        color=\"gray\"\n",
    "    )\n",
    "\n",
    "    # Men: dashed line + square marker (BLACK)\n",
    "    plt.errorbar(\n",
    "        x, m[\"p\"],\n",
    "        yerr=[m[\"p\"] - m[\"lo\"], m[\"hi\"] - m[\"p\"]],\n",
    "        fmt=\"s--\", markersize=marker_size, linewidth=line_width,\n",
    "        capsize=capsize,\n",
    "        label=\"Men\",\n",
    "        color=\"black\"\n",
    "    )\n",
    "\n",
    "    # Tick labels\n",
    "    if age_labels is None:\n",
    "        xticks = [str(a) for a in age_order]\n",
    "    else:\n",
    "        xticks = [age_labels.get(int(a), str(a)) for a in age_order]\n",
    "\n",
    "    plt.xticks(x, xticks, fontsize=tick_fontsize)\n",
    "    plt.yticks(fontsize=tick_fontsize)\n",
    "    plt.xlabel(xlabel, fontsize=label_fontsize)\n",
    "    plt.ylabel(ylabel, fontsize=label_fontsize)\n",
    "    plt.title(title, fontsize=title_fontsize)\n",
    "\n",
    "    if y_lim is not None:\n",
    "        plt.ylim(y_lim)\n",
    "\n",
    "    # ---- NEW: annotate values above markers ----\n",
    "    if show_values:\n",
    "        # If y_lim is set, scale offset relative to y-range for consistent spacing\n",
    "        if y_lim is not None:\n",
    "            yr = (y_lim[1] - y_lim[0])\n",
    "            dy = value_offset * yr\n",
    "        else:\n",
    "            dy = value_offset\n",
    "\n",
    "        # Women labels (gray)\n",
    "        for xi, pi in zip(x, f[\"p\"]):\n",
    "            txt = f\"{pi:.{value_decimals}f}\"\n",
    "            plt.text(\n",
    "                xi, pi + dy, txt,\n",
    "                ha=\"center\", va=\"bottom\",\n",
    "                fontsize=value_fontsize,\n",
    "                color=\"gray\"\n",
    "            )\n",
    "\n",
    "        # Men labels (black)\n",
    "        for xi, pi in zip(x, m[\"p\"]):\n",
    "            txt = f\"{pi:.{value_decimals}f}\"\n",
    "            plt.text(\n",
    "                xi, pi + dy, txt,\n",
    "                ha=\"center\", va=\"bottom\",\n",
    "                fontsize=value_fontsize,\n",
    "                color=\"black\"\n",
    "            )\n",
    "\n",
    "    plt.legend(loc=legend_loc, fontsize=12, frameon=True)\n",
    "    plt.tight_layout()\n",
    "\n",
    "    # Save (600 DPI PNG + optional PDF)\n",
    "    if save_path_png is not None:\n",
    "        plt.savefig(save_path_png, dpi=dpi, bbox_inches=\"tight\")\n",
    "    if save_path_pdf is not None:\n",
    "        plt.savefig(save_path_pdf, bbox_inches=\"tight\")\n",
    "\n",
    "    plt.show()\n",
    "    plt.close(fig)\n",
    "\n",
    "# ============================================================\n",
    "# 6) Build Figure 3 and 4\n",
    "# ============================================================\n",
    "CUT = 7\n",
    "YEAR_FIXED = 2021\n",
    "\n",
    "# Use the same control list you used when fitting FULL models\n",
    "CONTROLS_FULL = [\"income\", \"education\", \"occupation\", \"spouse\", \"child\", \"appearance\", \"satisfaction\"]\n",
    "\n",
    "pred_cur = build_predicted_df(\n",
    "    model=model_cur_full, res=res_cur_full, d_ref=d_cur,\n",
    "    cutoff=CUT, year_value=YEAR_FIXED,\n",
    "    CONTROLS=CONTROLS_FULL\n",
    ")\n",
    "\n",
    "pred_fut = build_predicted_df(\n",
    "    model=model_fut_full, res=res_fut_full, d_ref=d_fut,\n",
    "    cutoff=CUT, year_value=YEAR_FIXED,\n",
    "    CONTROLS=CONTROLS_FULL\n",
    ")\n",
    "\n",
    "# Shared y-axis range for comparability\n",
    "ymin = min(pred_cur[\"lo\"].min(), pred_fut[\"lo\"].min())\n",
    "ymax = max(pred_cur[\"hi\"].max(), pred_fut[\"hi\"].max())\n",
    "pad = 0.03\n",
    "shared_ylim = (max(0.0, ymin - pad), min(1.0, ymax + pad))\n",
    "\n",
    "# Figure 3: Current\n",
    "plot_predicted_prob(\n",
    "    pred_cur,\n",
    "    title=f\"\",\n",
    "    ylabel=f\"Predicted probability: P(Y ≥ {CUT})\",\n",
    "    xlabel=\"\",\n",
    "    legend_loc=\"best\",\n",
    "    y_lim=shared_ylim,\n",
    "    age_labels=AGE_LABELS,\n",
    "    save_path_png=\"Figure3_current_predprob.png\",\n",
    "    save_path_pdf=\"Figure3_current_predprob.pdf\",\n",
    "    dpi=600\n",
    ")\n",
    "\n",
    "# Figure 4: Future\n",
    "plot_predicted_prob(\n",
    "    pred_fut,\n",
    "    title=f\"\",\n",
    "    ylabel=f\"Predicted probability: P(Y ≥ {CUT})\",\n",
    "    xlabel=\"\",\n",
    "    legend_loc=\"best\",\n",
    "    y_lim=shared_ylim,\n",
    "    age_labels=AGE_LABELS,\n",
    "    save_path_png=\"Figure4_future_predprob.png\",\n",
    "    save_path_pdf=\"Figure4_future_predprob.pdf\",\n",
    "    dpi=600\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aef42110-30e3-4d94-9e80-a49e8286fc12",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a846b521-ba73-48ee-88a5-577d33be4a42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== Figure 3 numeric values (Current): P(Y>=CUT) by age×gender ===\n",
      "   age_cat    age_group  group      p     lo     hi  year_fixed  cutoff\n",
      "0        1          20s  Women  0.029  0.024  0.035        2021       7\n",
      "1        1          20s    Men  0.164  0.135  0.193        2021       7\n",
      "2        2          30s  Women  0.028  0.023  0.033        2021       7\n",
      "3        2          30s    Men  0.113  0.097  0.129        2021       7\n",
      "4        3          40s  Women  0.034  0.028  0.039        2021       7\n",
      "5        3          40s    Men  0.087  0.076  0.098        2021       7\n",
      "6        4          50s  Women  0.035  0.030  0.041        2021       7\n",
      "7        4          50s    Men  0.093  0.082  0.104        2021       7\n",
      "8        5  60s or over  Women  0.056  0.049  0.064        2021       7\n",
      "9        5  60s or over    Men  0.093  0.083  0.104        2021       7\n",
      "\n",
      "=== Figure 3 numeric values (Current): Men-Women gap by age ===\n",
      "   age_cat    age_group  Women    Men  gap_men_minus_women  gap_lo  gap_hi\n",
      "0        1          20s  0.029  0.164                0.135   0.107   0.163\n",
      "1        2          30s  0.028  0.113                0.085   0.071   0.100\n",
      "2        3          40s  0.034  0.087                0.053   0.043   0.063\n",
      "3        4          50s  0.035  0.093                0.058   0.048   0.068\n",
      "4        5  60s or over  0.056  0.093                0.037   0.027   0.047\n",
      "\n",
      "=== Figure 4 numeric values (Future): P(Y>=CUT) by age×gender ===\n",
      "   age_cat    age_group  group      p     lo     hi  year_fixed  cutoff\n",
      "0        1          20s  Women  0.049  0.040  0.058        2021       7\n",
      "1        1          20s    Men  0.214  0.179  0.250        2021       7\n",
      "2        2          30s  Women  0.045  0.037  0.053        2021       7\n",
      "3        2          30s    Men  0.160  0.138  0.182        2021       7\n",
      "4        3          40s  Women  0.056  0.048  0.064        2021       7\n",
      "5        3          40s    Men  0.125  0.110  0.140        2021       7\n",
      "6        4          50s  Women  0.065  0.056  0.074        2021       7\n",
      "7        4          50s    Men  0.134  0.119  0.149        2021       7\n",
      "8        5  60s or over  Women  0.088  0.077  0.099        2021       7\n",
      "9        5  60s or over    Men  0.129  0.116  0.143        2021       7\n",
      "\n",
      "=== Figure 4 numeric values (Future): Men-Women gap by age ===\n",
      "   age_cat    age_group  Women    Men  gap_men_minus_women  gap_lo  gap_hi\n",
      "0        1          20s  0.049  0.214                0.165   0.131   0.199\n",
      "1        2          30s  0.045  0.160                0.115   0.095   0.135\n",
      "2        3          40s  0.056  0.125                0.069   0.056   0.083\n",
      "3        4          50s  0.065  0.134                0.070   0.055   0.084\n",
      "4        5  60s or over  0.088  0.129                0.041   0.026   0.056\n"
     ]
    }
   ],
   "source": [
    "# Settings\n",
    "# --------------------------\n",
    "CUT = 7\n",
    "YEAR_FIXED = 2021\n",
    "CONTROLS_FULL = [\"income\", \"education\", \"occupation\", \"spouse\", \"child\", \"appearance\", \"satisfaction\"]\n",
    "\n",
    "AGE_LABELS = {\n",
    "    1: \"20s\",\n",
    "    2: \"30s\",\n",
    "    3: \"40s\",\n",
    "    4: \"50s\",\n",
    "    5: \"60s or over\"\n",
    "}\n",
    "\n",
    "# ============================================================\n",
    "# 1) Core computation: build predicted table (p, lo, hi) by age×gender\n",
    "# ============================================================\n",
    "def compute_predicted_table(\n",
    "    model, res, d_ref,\n",
    "    cutoff=7,\n",
    "    year_value=2021,\n",
    "    controls=None,\n",
    "    controls_strategy=\"mean\",\n",
    "    MALE=\"gender\", AGECAT=\"age\", YEAR=\"year\",\n",
    "    age_labels=None\n",
    "):\n",
    "    if controls is None:\n",
    "        controls = []\n",
    "\n",
    "    age_cats = list(d_ref[AGECAT].cat.categories)\n",
    "\n",
    "    # -------------------------\n",
    "    # A) Long table: p, lo, hi\n",
    "    # -------------------------\n",
    "    rows = []\n",
    "    for age_val in age_cats:\n",
    "        age_val_int = int(age_val)\n",
    "\n",
    "        for male_val in [0, 1]:\n",
    "            xrow = make_exog_row_exogonly(\n",
    "                model=model,\n",
    "                d_ref=d_ref,\n",
    "                male_value=male_val,\n",
    "                age_value=age_val,\n",
    "                year_value=year_value,\n",
    "                controls=controls,\n",
    "                controls_strategy=controls_strategy,\n",
    "                MALE=MALE, AGECAT=AGECAT, YEAR=YEAR\n",
    "            )\n",
    "\n",
    "            p, lo, hi = delta_ci_for_prob(model, res, xrow, cutoff=cutoff)\n",
    "\n",
    "            rows.append({\n",
    "                \"age_cat\": age_val_int,\n",
    "                \"age_group\": (age_labels.get(age_val_int, str(age_val_int)) if age_labels else str(age_val_int)),\n",
    "                \"male\": male_val,\n",
    "                \"group\": (\"Men\" if male_val == 1 else \"Women\"),\n",
    "                \"p\": p,\n",
    "                \"lo\": lo,\n",
    "                \"hi\": hi,\n",
    "                \"year_fixed\": year_value,\n",
    "                \"cutoff\": cutoff\n",
    "            })\n",
    "\n",
    "    long_df = pd.DataFrame(rows).sort_values([\"age_cat\", \"male\"]).reset_index(drop=True)\n",
    "\n",
    "    # -------------------------\n",
    "    # B) Wide table: Women, Men (predicted p)\n",
    "    # -------------------------\n",
    "    wide = (\n",
    "        long_df.pivot_table(index=[\"age_cat\", \"age_group\"], columns=\"group\", values=\"p\", aggfunc=\"first\")\n",
    "        .reset_index()\n",
    "    )\n",
    "\n",
    "    # Ensure columns exist exactly as expected\n",
    "    # If not, raise a clear error early\n",
    "    if \"Women\" not in wide.columns or \"Men\" not in wide.columns:\n",
    "        raise ValueError(f\"Expected columns 'Women' and 'Men' not found. Columns are: {wide.columns.tolist()}\")\n",
    "\n",
    "    # -------------------------\n",
    "    # C) Gap with CI via gradients (Men - Women)\n",
    "    # -------------------------\n",
    "    def grad_prob(model, res, exog_row, cutoff=7, step=1e-5):\n",
    "        params = np.asarray(res.params)\n",
    "        p0 = prob_y_ge_cutoff(model, params, exog_row, cutoff=cutoff)\n",
    "        g = np.zeros_like(params, dtype=float)\n",
    "        for j in range(len(params)):\n",
    "            dp = np.zeros_like(params)\n",
    "            dp[j] = step\n",
    "            p_plus  = prob_y_ge_cutoff(model, params + dp, exog_row, cutoff=cutoff)\n",
    "            p_minus = prob_y_ge_cutoff(model, params - dp, exog_row, cutoff=cutoff)\n",
    "            g[j] = (p_plus - p_minus) / (2.0 * step)\n",
    "        return p0, g\n",
    "\n",
    "    cov = np.asarray(res.cov_params())\n",
    "    z = 1.959963984540054\n",
    "\n",
    "    gap_rows = []\n",
    "    for age_val in age_cats:\n",
    "        age_val_int = int(age_val)\n",
    "        age_group = age_labels.get(age_val_int, str(age_val_int)) if age_labels else str(age_val_int)\n",
    "\n",
    "        x_f = make_exog_row_exogonly(\n",
    "            model=model, d_ref=d_ref,\n",
    "            male_value=0, age_value=age_val, year_value=year_value,\n",
    "            controls=controls, controls_strategy=controls_strategy,\n",
    "            MALE=MALE, AGECAT=AGECAT, YEAR=YEAR\n",
    "        )\n",
    "        x_m = make_exog_row_exogonly(\n",
    "            model=model, d_ref=d_ref,\n",
    "            male_value=1, age_value=age_val, year_value=year_value,\n",
    "            controls=controls, controls_strategy=controls_strategy,\n",
    "            MALE=MALE, AGECAT=AGECAT, YEAR=YEAR\n",
    "        )\n",
    "\n",
    "        p_f, g_f = grad_prob(model, res, x_f, cutoff=cutoff)\n",
    "        p_m, g_m = grad_prob(model, res, x_m, cutoff=cutoff)\n",
    "\n",
    "        diff = p_m - p_f\n",
    "        var_diff = float(g_m @ cov @ g_m + g_f @ cov @ g_f - 2.0 * (g_m @ cov @ g_f))\n",
    "        se_diff = np.sqrt(max(var_diff, 0.0))\n",
    "\n",
    "        gap_rows.append({\n",
    "            \"age_cat\": age_val_int,\n",
    "            \"age_group\": age_group,\n",
    "            \"gap_men_minus_women\": diff,\n",
    "            \"gap_lo\": diff - z * se_diff,\n",
    "            \"gap_hi\": diff + z * se_diff\n",
    "        })\n",
    "\n",
    "    gap_df = pd.DataFrame(gap_rows).sort_values(\"age_cat\").reset_index(drop=True)\n",
    "\n",
    "    # IMPORTANT: merge without creating suffix conflicts\n",
    "    # (wide currently has only Women, Men, and index cols)\n",
    "    wide = wide.merge(gap_df, on=[\"age_cat\", \"age_group\"], how=\"left\")\n",
    "\n",
    "    return long_df, wide\n",
    "\n",
    "# ============================================================\n",
    "# 2) Run computations for Figure 3 (Current) and Figure 4 (Future)\n",
    "# ============================================================\n",
    "pred_long_cur, pred_gap_cur = compute_predicted_table(\n",
    "    model=model_cur_full, res=res_cur_full, d_ref=d_cur,\n",
    "    cutoff=CUT, year_value=YEAR_FIXED,\n",
    "    controls=CONTROLS_FULL,\n",
    "    controls_strategy=\"mean\",\n",
    "    MALE=\"gender\", AGECAT=\"age\", YEAR=\"year\",\n",
    "    age_labels=AGE_LABELS\n",
    ")\n",
    "\n",
    "pred_long_fut, pred_gap_fut = compute_predicted_table(\n",
    "    model=model_fut_full, res=res_fut_full, d_ref=d_fut,\n",
    "    cutoff=CUT, year_value=YEAR_FIXED,\n",
    "    controls=CONTROLS_FULL,\n",
    "    controls_strategy=\"mean\",\n",
    "    MALE=\"gender\", AGECAT=\"age\", YEAR=\"year\",\n",
    "    age_labels=AGE_LABELS\n",
    ")\n",
    "\n",
    "# ============================================================\n",
    "# 3) Format for reporting (rounding) + print\n",
    "# ============================================================\n",
    "def pretty_long(df, decimals=3):\n",
    "    out = df.copy()\n",
    "    for c in [\"p\", \"lo\", \"hi\"]:\n",
    "        out[c] = out[c].round(decimals)\n",
    "    return out[[\"age_cat\",\"age_group\",\"group\",\"p\",\"lo\",\"hi\",\"year_fixed\",\"cutoff\"]]\n",
    "\n",
    "def pretty_gap(df, decimals=3):\n",
    "    out = df.copy()\n",
    "    for c in [\"Women\",\"Men\",\"gap_men_minus_women\",\"gap_lo\",\"gap_hi\"]:\n",
    "        out[c] = out[c].round(decimals)\n",
    "    return out[[\"age_cat\",\"age_group\",\"Women\",\"Men\",\"gap_men_minus_women\",\"gap_lo\",\"gap_hi\"]]\n",
    "\n",
    "print(\"\\n=== Figure 3 numeric values (Current): P(Y>=CUT) by age×gender ===\")\n",
    "print(pretty_long(pred_long_cur))\n",
    "\n",
    "print(\"\\n=== Figure 3 numeric values (Current): Men-Women gap by age ===\")\n",
    "print(pretty_gap(pred_gap_cur))\n",
    "\n",
    "print(\"\\n=== Figure 4 numeric values (Future): P(Y>=CUT) by age×gender ===\")\n",
    "print(pretty_long(pred_long_fut))\n",
    "\n",
    "print(\"\\n=== Figure 4 numeric values (Future): Men-Women gap by age ===\")\n",
    "print(pretty_gap(pred_gap_fut))\n",
    "\n",
    "# ============================================================\n",
    "# 4) Export (optional)\n",
    "# ============================================================\n",
    "# pred_long_cur.to_csv(\"predprob_current_long.csv\", index=False)\n",
    "# pred_gap_cur.to_csv(\"predprob_current_gap.csv\", index=False)\n",
    "# pred_long_fut.to_csv(\"predprob_future_long.csv\", index=False)\n",
    "# pred_gap_fut.to_csv(\"predprob_future_gap.csv\", index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "291a7006-8d87-4e5f-ab61-15da9a0e7f25",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "00b8c768-7072-40e4-a2c2-1b930b3d64f8",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6f3fcf2f-1db3-4070-bf78-65c3b7db2261",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "26c2d2b7-37f1-4b13-9ca2-9bac22e3dd18",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f6e3c9fb-9ecf-4b87-b581-4fb1be0276c8",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
